package com.hb.trade.client.project;

import com.hb.core.pojo.project.order.dto.GetInvoiceInfoDTO;
import com.hb.core.pojo.project.order.dto.InvoiceDTO;
import com.hb.core.pojo.project.order.dto.InvoiceSubmitInfoDTO;
import org.fzzn.core.model.msg.Message;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 发票信息 client
 *
 * @author jinhaolin
 * @date 2022/4/1 0001 21:10
 **/
@FeignClient("hb-project")
public interface InvoiceClient {
    /**
     * @param invoiceSubmitInfoDTO:
     * @Description:平台开具增值税电子普通发票
     * @Author: zhongdl
     * @Date:2022/4/18 11:13
     * @return: {@link org.fzzn.core.model.msg.Message<java.lang.Boolean> }
     **/
    @PostMapping("/invoice/issueOrdinaryElectronicInvoice")
    Message<Boolean> issueOrdinaryElectronicInvoice(@RequestBody InvoiceSubmitInfoDTO invoiceSubmitInfoDTO);

    @PostMapping("/invoice/issueDedicatedElectronicInvoice")
    Message<Boolean> issueDedicatedElectronicInvoice(@RequestBody InvoiceSubmitInfoDTO invoiceSubmitInfoDTO);

    @PostMapping("/invoice/submitInformation")
    Message<InvoiceDTO> submitInformation(@RequestBody GetInvoiceInfoDTO getInvoiceInfoDTO);
    /**
     *
     * @Description:下载发票pdf
     * @Author: zhongdl
     * @Date:2022/4/15 10:05
     * @param getInvoiceInfoDTO:
     * @return: {@link Message< InvoiceDTO> }
     **/
    @PostMapping("/invoice/invoicePdf")
    Message<InvoiceDTO> invoicePdf(@RequestBody GetInvoiceInfoDTO getInvoiceInfoDTO);
}
